#ifndef CARTOGRAPHER_DynamicOPTIONS_H_
#define CARTOGRAPHER_DynamicOPTIONS_H_

namespace cartographer
{
    class DynamicOptions
    {
    public:
        ~DynamicOptions()
        {
        }

        DynamicOptions(const DynamicOptions &) = delete;

        DynamicOptions &operator=(const DynamicOptions &) = delete;

        static DynamicOptions &GetInstance()
        {
            static DynamicOptions instance;
            return instance;
        }

        bool dynEnable;
        int cacheSize;
        int motionSize;
        int dynNearNum;
        double hitRatio;
        double subpixelScale;
        int dynScaleIterTimes;
        double dynScaleStride;
        double dynNearRadius;
        int dynValidMotionTimes;
        double dynDetectDistMax;

    private:
        DynamicOptions()
        {
        }
    };
} // namespace cartographer

#endif